The present invention pertains to the field of computer systems. More particularly, the present invention relates to storage controllers for controlling data transfers between one or more host processing systems and one or more data storage subsystems.
Computer systems sometimes handle valuable or irreplaceable data. Data maintained by a computer system may be of vital importance, for example, in business applications such as airline reservations, bank account management, electronic funds transfers, shipping and receiving, and inventory control. Consequently, there is a need to ensure that valuable data is adequately protected against loss or damage.
It is common to store large volumes of data on non-volatile mass storage devices, such as magnetic or optical disks. Occasionally, however, a mass storage device will fail, resulting in the loss of stored data. Consequently, it is a common practice to store a back-up copy of data that is considered valuable on a separate, back-up storage device. For practical reasons, however, it is often necessary to locate the back-up storage device in the same geographic vicinity as the primary storage device. As a result, both the primary data and the backup copy may be lost or destroyed due to fire, theft, vandalism, or natural disaster. Hence, there is a need for the capability to store multiple back-up copies of data in geographically separate locations, while still permitting quick and easy access by a host computer to any back-up copy.
One aspect of the present invention is a storage controller which includes a processor, an internal storage device, and a memory. The memory includes instructions which configure the storage controller to store data in an external mass storage device in response to a host processing system, and to repeatedly and automatically store a current version of the data in the internal storage device. Other features of the present invention will be apparent from the accompanying drawings and from the detailed description which follows.